"""
def 函数名 (变量...) :
	函数体
    return 返回值


====================================================
函数名(传入参数)

参数之间用逗号分隔

定义时为：形参
调用时为：实参

====================================================
return 关键字之后的所有代码都不会执行

返回 None 类型：
	未定义return语句时，返回值都为None

在判断语句中，返回False等同于返回None

====================================================
局部变量：定义在函数体的内部的变量，即只能在函数中使用
全局变量：定义在函数体外的，内外都能使用的变量

====================================================
global关键字
在函数内部声明变量为全局变量

"""
str1 = "test"
str2 = "testlength"
str3 = "python"


def my_get_str_len(str1) :
    """
    函数说明：获取str1的长度
    :param str1: 入参
    :return: 返回str1的长度
    """
    count = 0
    for i in str1 :
        count += 1
    return count


print(f"字符串: {str1}, 长度: {my_get_str_len(str1)}")
print(f"字符串: {str2}, 长度: {my_get_str_len(str2)}")
print(f"字符串: {str3}, 长度: {my_get_str_len(str3)}")

def check_age(age):
    if age >= 18 :
        return "SUCCESS"
    else:
        return None

result = check_age(17)
if not result:
    # 进入if表示result是None值，也是False
    print(result)

# 定义全局变量
num = 200
def test_a():
    print(f"test_a: {num}")

def test_b():
    # 这里定义的是一个新的局部变量 num，如果要指向外面的全局变量需要使用 global
    # 声明使用全局变量 num
    global num
    num = 500
    print(f"test_a: {num}")

test_a()
test_b()
print(num)